package org.shellex.javame.utility;
import javax.microedition.lcdui.Display;

 

/**

 * @author Favo

 *

 * 这是仿照Smart Ticket制作的进度条观察者，这个模型的优点是

 * 1，低耦合度。你可以通过Form,Canvas等来实现这个接口

 * 2，支持可中断的任务，因为背景线程是无法强制性中断的，

 * 所以就 没有了在观察者中回调背景线程相应方法的必要，

 * 如果支持可中断的话，可以让背景线程来查询观察者的isStopped()

 * 3，可以说进度条仅仅将自己绘画在屏幕上，他对后台线程毫不关心

 */

public interface ProgressObserver {

    /**

     * 将进度条复位

     */

    public void reset();

   

    /**

     * 将进度条设置最大

     */

    public void setMax();

 

    /*

     * 将自己绘制在屏幕上，如果进度条要开启自身的线程用于自动更新画面，

     * 也在这里构造并开启绘画线程（常用于动画滚动条）

     */

    public void show(Display display);

 

    /**

     * 滚动条退出命令，如果进度条曾经开启自身的线程用于自动更新画面,

     * （常用于动画滚动条），在这里关闭动画线程

     */

    public void exit();

 

    /**

     * 更新进度条

     */

    public void updateProgress(Object param1);

 

    public boolean isStoppable();

 

    public void setStoppable(boolean stoppable);

 

    public boolean isStopped();

 

public void setStopped(boolean stopped);

 

    public void setTitle(String title);

 

    public void setPrompt(String prompt);

}